Verifying Finite-State Safety Properties on Millions of Lines of Code
نویسندگان
چکیده
We present a context-sensitive, flow-sensitive, field-sensitive, and intraprocedurally path-sensitive static analysis capable of verifying finite-state safety properties of very large systems. Unusually for finitestate property verifiers, our system analyzes functions separately, and it is this feature that enables scalability. We evaluate an implementation of our analysis by trying to verify the absence of unchecked, untrusted pointer dereferences in the entire Linux operating system with over 6.2 million lines of code. Our system has a 1.8% false positive rate and fails to analyze 0.17% of all procedures.
منابع مشابه
Whale: An Interpolation-Based Algorithm for Inter-procedural Verification
In software verification, Craig interpolation has proven to be a powerful technique for computing and refining abstractions. In this paper, we propose an interpolation-based software verification algorithm for checking safety properties of (possibly recursive) sequential programs. Our algorithm, called Whale, produces inter-procedural proofs of safety by exploiting interpolation for guessing fu...
متن کاملSome Complexity Results for Stateful Network Verification
In modern networks, forwarding of packets often depends on the history of previously transmitted traffic. Such networks contain stateful middleboxes, whose forwarding behavior depends on a mutable internal state. Firewalls and load balancers are typical examples of stateful middleboxes. This paper addresses the complexity of verifying safety properties, such as isolation, in networks with finit...
متن کاملVerification of Liveness Properties in Transactional Memories
Transactional memory (TM) is a concurrency control mechanism that avoids common problems associated with conventional locking techniques. The correctness of concurrent programs employing a TM implementation depends on the correctness of the TM implementation. Therefore, it is important to ensure that the implementation satisfies correctness properties such as safety and liveness properties. Saf...
متن کاملOn the Finite Groupoid G(n)
In this paper we study the existence of commuting regular elements, verifying the notion left (right) commuting regular elements and its properties in the groupoid G(n). Also we show that G(n) contains commuting regular subsemigroup and give a necessary and sufficient condition for the groupoid G(n) to be commuting regular.
متن کاملAutomatic Analysis of Consistency between Implementations and Requirements: A Case Study
Formal methods like model checking can be used to demonstrate that safety properties of event-based systems are enforced by the system's requirements. Unfortunately , proving these properties provides no guarantee that they will be preserved in an implementation of the system. This paper describes a tool, called An-alyzer, which discovers instances of inconsistency and incompleteness in impleme...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007